package dao;

import java.util.ArrayList;

import exception.DAOSystemException;


import model.LeaveDTO;

public interface LeaveDAO {
	public LeaveDTO findLeave(String id) throws DAOSystemException;
    public ArrayList<LeaveDTO> findAllLeaves() throws DAOSystemException;
    public void insertLeave(LeaveDTO leave) throws DAOSystemException;
    public void updateLeave(LeaveDTO leave) throws DAOSystemException;
    public void deleteLeave(LeaveDTO leave) throws DAOSystemException;
    //@Thiri
    public ArrayList<LeaveDTO> findAllLeaveByManagerID(String userid)
	throws DAOSystemException;
    public LeaveDTO findLeaveDetailByID(String leaveId) throws DAOSystemException;
    public ArrayList<LeaveDTO> findAllSubordinateByManagerId(String mgrId) throws DAOSystemException;
	public void  UpdateLeave(String id,String status,String reason) throws DAOSystemException;
	public ArrayList<LeaveDTO> findAllLeaveByUserId(String id)throws DAOSystemException;
	//@Thiri
    //@Suganthi
    public ArrayList<LeaveDTO> findAllLeavesByUser(String userid) throws DAOSystemException;
    //@Suganthi 
}
